home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Auge 4000 / Auge 4000 #54 (1991-04-07)(Amiga User Gruppe Einzugsgebiet 4000).zip / Auge 4000 #54 (1991-04-07)(Amiga User Gruppe Einzugsgebiet 4000).adf / PopUpMenu / Source / Globals.c < prev    next >
C/C++ Source or Header  |  1991-04-07  |  2KB  |  90 lines

  1. #include "PopUpMenu.h"
  2.  
  3. /* The menuwindows (must be palced first) */
  4. struct WindowData SubWindow, ItemWindow, MenuWindow;
  5.  
  6. /* Library base pointers */
  7. struct DosLibrary    *DOSBase;
  8. struct IntuitionBase *IntuitionBase;
  9. struct GfxBase         *GfxBase;
  10. struct LayersBase    *LayersBase;
  11.  
  12. /* Our semaphore */
  13. struct SignalSemaphore PopUpSemaphore;
  14.  
  15. /* Pointers to intuition functions */
  16. __fptr OldSetMenuStrip, OldClearMenuStrip, OldOnMenu, OldOffMenu;
  17.  
  18.  
  19. /* Structure to hold the size of itemwindow */
  20. struct WindowSize Size;
  21.  
  22. /* The currently select items */
  23. struct MenuItem   *CurrentSubItem, *CurrentItem, *TempItem;
  24. struct Menu      *CurrentMenuPtr;
  25. UWORD          CurrentMenuNr;
  26. WORDBITS      LastSelected; /* if multiple select */
  27.  
  28. /* Size of the font used to draw the menues */
  29. UWORD          MenuFontSize;
  30.  
  31. /* Mouse position on screen */
  32. UWORD          MouseX,MouseY;
  33.  
  34. /* device request blocks */
  35. struct IOStdReq *InputReqBlock;
  36. struct timerequest *TimerReqBlock;
  37.  
  38. /* */
  39. struct MsgPort *TimerPort;
  40. LONGBITS    TimerSignal;
  41.  
  42. struct MsgPort *ReplyPort;
  43.  
  44. /* Pointer to the menus we use */
  45. struct Menu    *Menues;
  46.  
  47. /* Used to hold the sorted menulist */
  48. struct Remember  SortRemember;
  49. struct MenuSort  MenuSorted;
  50.  
  51. /* Variables to hold the last selection */
  52. struct Window    *LastWindow;
  53. UWORD     LastSelectedNum;
  54.  
  55. /* Screen to draw on */
  56. struct Screen    *Screen;
  57.  
  58. /* Type of screen (LORES / HIRES) */
  59. BOOL        ScreenType;
  60.  
  61. /* A copy (almost) of the screens rastport */
  62. struct RastPort Rp;
  63.  
  64. /* Window with menues to use */
  65. struct Window    *ActiveWindow;
  66.  
  67. /* Where to output messages */
  68. BPTR        StdOut;
  69.  
  70. /* Pointer to segments (only if started from CLI) */
  71. BPTR        PopUpSeg;
  72.  
  73. UWORD chip AmigaKeyHighRes[] = {
  74.   0xc000,0x0600, 0x0003,0xc000, 0x000f,0xc000, 0x0039,0xc000,
  75.   0x00e1,0xc000, 0x03ff,0xc000, 0x1f83,0xf000, 0xc000,0x0600
  76. };
  77.  
  78. UWORD chip AmigaKeyLoRes[] = {
  79.   0x8004,0x00e0,0x01e0,0x0360,0x0660,0x0fe0,0x3cf0,0x8004
  80. };
  81.  
  82. UWORD chip SubItemPointerL[] = {
  83.   0x7000,0x3000,0x1000,0x0000,0x1000,0x3000,0x7000
  84. };
  85.  
  86. UWORD chip SubItemPointerH[] = {
  87.   0x3f00,0x0f00,0x0300,0x0000,0x0300,0x0f00,0x3f00
  88. };
  89.  
  90.